import request from '@/utils/request';

const Dict_BASE_URL = '/admin/dict';

const DictAPI = {
  /**
   * 获取字典列表
   *
   * @param queryParams 查询参数（可选）
   * @returns 字典树形表格数据
   */
  getList(queryParams?: any) {
    console.log(Dict_BASE_URL);
    return request<any, DictVO[]>({
      url: `${Dict_BASE_URL}/page`,
      method: 'get',
      params: queryParams,
    });
  },
  getListAll() {
    return request<any, DictVO[]>({
      url: `${Dict_BASE_URL}/list`,
      method: 'get',
    });
  },

  /**
   * 新增字典
   *
   * @param data 字典表单数据
   * @returns 请求结果
   */
  create(data: DictVO) {
    return request({
      url: `${Dict_BASE_URL}`,
      method: 'post',
      data: data,
    });
  },

  /**
   * 修改字典
   *
   * @param id 字典ID
   * @param data 字典表单数据
   * @returns 请求结果
   */
  update(data: DictVO) {
    return request({
      url: `${Dict_BASE_URL}`,
      method: 'put',
      data: data,
    });
  },

  /**
   * 删除字典
   *
   * @param ids 字典ID，多个以英文逗号(,)分隔
   * @returns 请求结果
   */
  deleteByIds(ids: number[]) {
    return request({
      url: `${Dict_BASE_URL}`,
      method: 'delete',
      data: ids,
    });
  },
};

export default DictAPI;

/** 字典 */
export interface DictVO {
  id?: string;
  /** 创建时间 */
  createTime?: string;
  /** 字典类型 */
  dictType?: string;
  /** 字典描述 */
  description?: string;
  /** 字典备注 */
  remarks?: string;
  /** 修改时间 */
  updateTime?: string;
  /** 创建人 */
  createBy?: string;
  /** 修改人 */
  updateBy?: string;
}
